L4-Transport Layer.
애플리케이션 계층에서 애플리케이션은 소켓을 통해 네트워크 연결을 제공받았고, 또한 신뢰성과 보안성, 속도에 관한 서비스를 제공받았다. 트랜스포트 계층은 어떻게 이러한 서비스들을 지원할 수 있을까?
Logical Communication for Process
먼저, 프로세스와 연결된 소켓으로 패킷을 전달하는 트랜스포트 계층은 프로세스간의 논리적 통신을 제공한다고 말할 수 있다. 반면, 네트워크 계층은 IP주소를 이용하여 호스트간의 논리적 통신을 제공한다.
Transport-layer Multiplexing / Demultiplexing
네트워크 계층이 제공하는 호스트 대 호스트 통신을 프로세스 대 프로세스 통신으로 확장하는 것이 트랜스포트 계층의 가장 기본적인 역할이다.
이 때, 소켓에서 전달된 데이터를 네트워크로 보내는 경우 다중화Multiplexing이라 부른다. 여러 데이터 스트림을 하나의 네트워크를 통해 보내기 때문이다. 반면, 네트워크에서 전달받은 데이터를 소켓으로 전달하는 경우 역다중화Demultiplexing이라 부른다.
Header / Payload
encapsulation / decapsulation
Multiplexing의 경우 Segment를 Datagram으로 캡슐화하고,
Demultiplexing의 경우 Segment를 Message로 디캡슐화한다.